029 Архитектура: партиционирование данных
- Зачем партиционировать данные
- скорость чтения и записи возрастает — каждый участок работает независимо от остальных
- сложно делать сквозные запросы по данным
- Партиционирование часто делают вместе с репликацией
- многие проблемы сходны и можно решить их одновременно
- распределение партиций по нодам при шардирование и репликации
- несколько партиций на ноду
- выделенные ноды для репликаций или просто хранение партиции на нескольких нодах
- равномерность распределения данных
- распределение устойчивым алгоритмом
- распределение с метаданными
- взятие хеша от первичного ключа
- равномерность распределения нагрузки чтения/записи
- на примере использования времени в качестве ключа
- term and document партицирование данных
- локальный и глобальный индексы
- перебалансировка
- роутинг запросов
- каждая нода является роутером
- специальные роутинг ноды
- умный клиент
- проблема сканирования данных на разных нодах